//
//  AKUIAppDelegate.h
//  AKUI
//
//  Created by Ben Chen on 3/8/08.
//  Copyright Sleeper 2008. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "AKStateMaintainer.h"
#import "AKBasicInfoProvider.h"
#import "AKGeometryProvider.h"
#import "AKImageProvider.h"
#import "AKAnimationProvider.h"

@class AKUIRenderView;

enum {
	kAKUIAppDelegateTicTacToe = 0,
	kAKUIAppDelegateOthello
};
typedef int AKUIAppDelegateGameType;

@interface AKUIContainer : NSObject <NSCoding> {
	UIWindow*		window;
    AKUIRenderView*	contentView;
	
	id <AKStateMaintainer>		stateMaintainer;
	NSArray*					players;
	id <AKBasicInfoProvider>	infoProvider;
	id <AKGeometryProvider>		geoProvider;
	id <AKImageProvider>		imageProvider;
	id <AKAnimationProvider>	aniProvider;
	AKUIAppDelegateGameType		gameType;
}

@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) AKUIRenderView *contentView;
@property (readwrite, assign) AKUIAppDelegateGameType gameType;

@end

@interface AKUIAppDelegate : NSObject {
	AKUIContainer*	container;
	BOOL			canReceiveAlert;
}

@end
